package org.ww.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.ww.dao.BookDao;

/**
 * @Autowired自动装配：
 *      首先会根据对象的类型进行自动装配application.getBean(xxx.class)
 *      当发现多个类型一致的，接着根据装配的id进行匹配
 *      如果没有对应的实例bean,就会报错
 *      所以使用required = false：没有对应的bean就不进行匹配了，也不报错
 * @Qualifier：
 *      默认首先根据在容器中注册的id进行匹配，如果指定id，则根据指定的id进行匹配
 * @Primary
 *      让spring进行自动装配的时候，默认该bean为首选的bean
 */
@Configuration
@ComponentScan({"org.ww.controller","org.ww.dao","org.ww.service","org.ww.bean"})
public class MainConfigAutowired {

    @Primary
    @Bean("bookDao2")
    public BookDao bookDao(){
        BookDao bookDao = new BookDao();
        bookDao.setLabel("2");
        return bookDao;
    }
}
